草庐IT

TypeScript 运算符

全部标签

javascript - 'let 和 'var' 在 Typescript 中是一样的吗?

我正在查看AngularJS2和Typescript,我决定用它做点什么来学习Typescript的基础知识。通过许多研究,我发现了关于模块、Typescript的好话题,其中之一是谈论“let”和“var”命令来声明变量;根据this问题,下面的Typescript代码应该只显示一个警告并在控制台中抛出一个错误:测试.ts:for(leti=0;i编译的test.js:for(vari=0;i但事实并非如此。编译器“忽略”“let”命令并将其变成“var”命令。为什么会这样?Typescript是否仅适用于类?我正在为“npmstart”使用AngularJS配置,所以它会自动编译我

javascript - 在 TypeScript 中扩展基本类型,错误 : "_this is not defined..."

我正在尝试用TypeScript重写我的一些JavaScript代码。其中一些代码引用了我添加到字符串对象原型(prototype)的扩展。String.prototype.format=function(){varformatted=this;for(vari=0;i然而,使用类型脚本添加这个非常具有挑战性。我见过这样的例子,您声明一个基本接口(interface)的扩展,然后将一个函数分配给原型(prototype)以匹配该接口(interface)并提供您的功能。像这样...interfaceString{showString:()=>string;}String.prototy

javascript - typescript 错误 : A 'super' call must be the first statement in the constructor when a class contains initialized properties

我的项目中有以下typescript错误..让我分享一下一个示例,以便您了解正在处理的内容。moduleCoreWeb{exportclassControllerimplementsIController{public$q;public$rootScope;public$scope:ng.IScope;public$state:ng.ui.IStateService;public$translate:ng.translate.ITranslateService;publicappEvents;publiccommonValidationsService;publicdefaultPag

javascript - 如何配置 karma 以便 typescript 源文件是可调试的

我已经下载了一个种子项目Angular2WebpackStarter并顺利启动并运行。我使用它时遇到的一个不便是在单元测试下调试源文件。所有*.spec.ts文件都加载到浏览器中并可调试,因此至少为它们生成map文件。当我进入一个正在测试的源文件时,我得到如下信息:karma配置:module.exports=function(config){vartestWebpackConfig=require('./webpack.test.js');config.set({basePath:'',frameworks:['jasmine'],exclude:[],files:[{pattern

javascript - 为什么 TypeScript 将每个数字视为自己的类型?

表达式1==2导致TypeScript给出错误Operator'=='cannotbeappliedtotypes'1'and'2'。TypeScript将这些值视为不同类型的原因是什么?将其专门应用于数字是设计决定,还是整个打字系统的副产品?允许比较文字会造成什么危害? 最佳答案 1和2在这种情况下被认为是所谓的文字数字。这意味着值1的类型为1,因此只能是1,与2相同。鉴于此,1==2的表达式没有意义,因为1永远不可能是2,或者更准确地说,它们的类型不匹配,你无法将苹果与橙子进行比较。以下是有关默认假定文字类型的基本原理和详细信息

javascript - JQuery/Javascript 和 && 运算符的使用

我试图让一个简单的条件语句起作用,但遇到了问题。失败的代码:$(document).ready(function(){varwwidth=$(window).width();if(wwidth321)&&(wwidth如果我删除代码的elseif部分,我会收到警报。如果我尝试使用&&或||运营商它会失败。我用谷歌搜索过,我找不到它不起作用的原因。我也试过:((wwidth>321&&wwidth以及其他方式,以防出现一些奇怪的语法问题。如有任何帮助,我们将不胜感激。谢谢:) 最佳答案 ((wwidth>321)&&(wwidth这就

javascript - 在 JavaScript 中模拟 'new' 运算符

我试着用这样的代码在JavaScript中模拟“new”运算符:Function.method('new',function(){varobjPrototype=Object.create(this.prototype);varinstance=this.apply(objPrototype,arguments);returninstance;});但是,为了涵盖所有情况,return语句应该如下所示:return(typeofinstance==='object'&&instance)||objPrototype;现在进行测试:varSomeClass=function(param1

javascript - 如何阻止 VS 2013 生成 TypeScript 映射文件

有谁知道如何阻止VS2013为TypeScript生成*.map文件?我们不是他们的super粉丝,因为他们:往往与实际的javascript源代码不同步停止您在Chrome开发者工具等工具中进行编辑/继续调试的能力我可以通过构建后步骤删除它们,但是生成的javascript仍然有://#sourceMappingURL=someFile.js.map这让浏览器寻找map文件(生成404)。即使我们尝试构建一个在Release模式下具有TypeScript的项目,它仍然会生成带有映射文件引用的JS。有办法止痛吗? 最佳答案 在Typ

相当于 ?? C#中的运算符

这个问题在这里已经有了答案:Istherea"nullcoalescing"operatorinJavaScript?(17个答案)关闭7年前。有没有等价于??运算符存在于JavaScript中的C#中以击败“未定义”检查?例如:varcount=something??0;

javascript - javascript中字符串的按位运算

在javascript中,以下字符到字符二进制操作的测试打印0676次:vars='abcdefghijklmnopqrstuvwxyz';vari,j;for(i=0;i如果js使用字符串的实际二进制表示,我希望这里有一些非零值。类似地,测试字符串和整数的二进制操作,下面分别打印26个255和0。(选择255是因为它在二进制中是11111111)。vars='abcdefghijklmnopqrstuvwxyz';vari;for(i=0;ijavascript在这里做什么?似乎javascript在二进制操作之前将任何字符串转换为false。注意事项如果你在python中尝试这个,